package com.by.rpc.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * RPC文件参数注解，用于标记RPC方法参数来自HTTP文件上传
 * 该注解用于定义RPC方法参数来自HTTP文件上传
 * 主要用于内部服务间的RPC调用时参数解析
 */
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface RpcFile {
    
    /**
     * 文件参数名称
     */
    String value() default "";
    
    /**
     * 是否必须
     */
    boolean required() default true;
}